Client devices connect to servers via computer networks, such as the Internet, over which the client devices and servers exchange information. Computer networks include network nodes that forward information from one data link to another, e.g. nodes that receive information from a client device and forward it to a server, and vice versa. Network nodes (some of which are routing nodes) may be connected to many data links, and use techniques such as a routing table to determine which data link to forward information to. Sometimes a client device and a server create a persistent connection with one another over the computer network, called a sticky session.
Both servers and client devices include limited active memory space. For example, a server or client device is outfitted with a particular amount of random access memory (RAM) with a particular capacity to store information. When active memory is at full capacity, information loaded into the active memory is removed from the active memory to create space for additional information. For example, the additional information is loaded by overwriting information previously loaded within the active memory, removing the previously loaded information from active memory. This renders the previously loaded information unavailable for use until a time when it is again loaded into active memory.
Execution of a program sometimes involves a client device and a server exchanging information over a network, e.g. where a client device obtains a measurement and sends the obtained measurement to the server, which processes the measurement to generate some output, and then sends the output to the client device for use.
The figures depict various embodiments for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.